/**
 * 当前系统的 日期格式
 * @type {string}
 */
export const curDateFormat = 'YYYY-MM-DD';

/**
 * 获取支持输入的日期格式，一般用于设置 DatePicker 组件的 format 属性
 * @returns {string[]}
 */
export const getDateFormats = () => (['YYYY-MM-DD', 'YYYY/MM/DD', 'YYYYMMDD', 'YYYY-M-D', 'YYYY/M/D']);
export const getMonthFormats = () => (['YYYY-MM', 'YYYY/MM', 'YYYYMM', 'YYYY-M', 'YYYY/M']);
/**
 * 触发 DataPicker 组件的 Click 事件，以弹出日期选择浮层，并获得输入焦点
 * @param e Event
 */
export const triggerDateClick = (e) => {
  if (e && e.currentTarget) {
    let isFirst = e.currentTarget.getAttribute('isfirst');

    if ('1' !== isFirst) {
      e.currentTarget.setAttribute('isfirst', '1');

      if (e.currentTarget.childNodes && e.currentTarget.childNodes[0] &&
        e.currentTarget.childNodes[0].childNodes && e.currentTarget.childNodes[0].childNodes[0]) {
        e.currentTarget.childNodes[0].childNodes[0].click();
      }
    }

  }
};

/**
 * 根据开始和结束期间，回显对应的中文
 * @param beginPeriod
 * @param endPeriod
 * @returns {string}
 */
export const previewPeriod = (beginPeriod, endPeriod) => {
  if (beginPeriod && endPeriod) {
    return (
      beginPeriod.name ?
        `${beginPeriod.name}${endPeriod.name ?
          endPeriod.name === beginPeriod.name ?
            '' :
            ' 至 ' + endPeriod.name
          :
          ' 至今'}`
        :
        endPeriod.name ?
          `${endPeriod.name} 及之前` : '全部'
    );
  } else {
    return '全部';
  }
};
